home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
051-075
/
disk_060
/
ueturbo
/
altofconfig!
< prev
next >
Wrap
Text File
|
1992-05-06
|
58KB
|
1,573 lines
-----------------------------------------------------------------------------
| Config! V1.5 |
| (Copyright (C) 1986 Rick Stiles. All rights reserved.) |
-----------------------------------------------------------------------------
This is the config-file, which defines every start-up value and command used
by Text Master. Config! should be kept in your system's S: volume.
If you edit this file, do this: 1. Rename or delete S:Data!
2. Restart Text Master
Text Master will read your changes and let you correct any errors. Then it
will make a new S:Data! file.
==============================================================================
Edit the numbers at the left, but leave the angle-brackets as they are:
<1> auto-backup mode: 0 = no, 1 = yes
<0> word-wrap mode: 0 = no, 1 = yes
<0> right-justify mode: 0 = no, 1 = yes
<132> maximum line-length: 10 thru 999
<1> lines per page: 10 thru 9999
<0> over-strike mode: 0 = no, 1 = yes
<1> auto-indent mode: 0 = no, 1 = yes
<0> print selection: 0 = parallel port, 1 = Preferences
<1> search sensitive to upper/lower case: 0 = no, 1 = yes
<?> search-string wildcard (1 character)
<$> search string "either-or" delimiter (1 character)
<4> tab spacing: 1-40
<10> end-of-line character: 10 = Newline, 13 = Return or Enter
These are for the speech synthesizer:
<n> "n" = natural,"f" = female,"m" = male,"r" = robotic
<120> speech pitch: 65-320
<200> speech speed: 40-400
<0> speak alert messages: 0 = no, 1 = yes
<0> speak ordinary messages: 0 = no, 1 = yes
===========================================================================
Everything from here onward is menu selections or commands.
You can make small changes, such as changing something inside quotation
marks, without reading the manual.
But if you make significant changes, you should read the manual first.
You may change these, delete them, or create more of them.
Be sure and keep a backup copy of the original Config!, if you change this
file!
(( NOTE:
The first 5 entries below are Menu Titles. Their key argument is not used.
Menu Titles can have up to 10 characters.
Menu item descriptions can have up to 17 characters.
))
<startup:
menu("Files",1,normal-f1)
menu("Buffers",2,normal-f1)
menu("Commands",3,normal-f1)
menu("Settings",4,normal-f1)
menu("Edits",5,normal-f1)
menu("Open A-f1",1,alt-f1)
menu("New file C-f1",1,ctl-f1)
menu("Insert SA-f1",1,shftAlt-f1)
menu("Restore SC-f1",1,shftCtl-f1)
menu("AmigaDOS C-y",1,ctl-y)
menu("DOS + result C-z",1,ctl-z)
menu("Directory A-z",1,alt-z)
menu("Save f2",1,normal-f2)
menu("Save as... S-f2",1,shft-f2)
menu("Save changes A-f2",1,alt-f2)
menu("Close f3",1,normal-f3)
menu("Auto-close S-f3",1,shft-f3)
menu("Quit f4",1,normal-f4)
menu("Auto-Quit S-f4",1,shft-f4)
menu("About Uedit ",1,shftAltCtl-a)
menu("!!ABORT!! A-f4",1,alt-f4)
menu("Set search f7",2,normal-f7)
menu("Search fwd f9",2,normal-f9)
menu("Search bkwd S-f9",2,shft-f9)
menu("Replace fwd f10",2,normal-f10)
menu("Rpl all fwd A-f10",2,alt-f10)
menu("Rpl bkwd S-f10",2,shft-f10)
menu("Set replace f8",2,normal-f8)
menu("Search caps C-8",2,ctl-8)
menu("Set wildcard A-f7",2,alt-f7)
menu("Set eitherOr C-f7",2,ctl-f7)
menu("Tab->space SC-tab",2,shftCtl-tab)
menu("Space->tab SA-tab",2,shftAlt-tab)
menu("Speak hilite A-s",2,alt-s)
menu("Print hilite C-p",2,ctl-p)
menu("Free buffers A-f3",2,alt-f3)
menu("Edit buffer SA-f6",2,shftAlt-f6)
menu("Swap buffer C-w",2,ctl-w)
menu("See buffers SC-f6",2,shftCtl-f6)
menu("Show flags C-help",2,ctl-help)
menu("Show ASCII A-help",2,alt-help)
menu("*-Turbocharged-* ",3,shftAltCtl-f3)
menu(" by Tom Althoff ",3,shftAltCtl-f3)
menu("MAKE gad3",3,normal-gadget3)
menu("MAKE <file>A-gad3",3,alt-gadget3)
menu("CCHECK C-gad3",3,ctl-gadget3)
menu("Aztec CC C-gad1",3,ctl-gadget1)
menu("Aztec AS A-gad1",3,alt-gadget1)
menu("Aztec LN C-gad2",3,ctl-gadget2)
menu("GOTO line # C-N",3,ctl-n)
menu("Compile (macro)f6",3,normal-f6)
menu("Make command S-f6",3,shft-f6)
menu("Save config A-f6",3,alt-f6)
menu("Swap keys AC-f6",3,altCtl-f6)
menu("Kill key SAC-f6",3,shftAltCtl-f6)
menu("Start learn C-s",3,ctl-s)
menu("Run learn C-r",3,ctl-r)
menu("Command mult C-m",3,ctl-m)
menu("Save learn C-5",3,ctl-5)
menu("Load learn C-6",3,ctl-6)
menu("Run learn # C-7",3,ctl-7)
menu("Colors A-help",4,shft-help)
menu("OverStrike S-f5",4,shft-f5)
menu("AutoIndent A-f5",4,alt-f5)
menu("WordWrap C-f5",4,ctl-f5)
menu("Right justify A-j",4,alt-j)
menu("Tab space SAC-tab",4,shftAltCtl-tab)
menu("Line length C-rtn",4,ctl-return)
menu("Lines/page A-g",4,alt-g)
menu("Read-only SA-f5",4,shftAlt-f5)
menu("AutoBackup SAC-f5",4,shftAltCtl-f5)
menu("Row/Column C-2",4,ctl-2)
menu("Mark gadgets C-g",4,ctl-g)
menu("Print Pref A-p",4,alt-p)
menu("Invisibles C-v",4,ctl-v)
menu("Busies C-b",4,ctl-b)
menu("Use keys A-u",4,alt-u)
menu("Copy kp.",5,normal-kpDot)
menu("Cut kp-",5,normal-kpMinus)
menu("Paste kpEnter",5,normal-kpEnter)
menu("Clear C-h",5,ctl-h)
menu("Unhilite A-h",5,alt-h)
menu("Uninvert A-i",5,alt-i)
menu("Reformat C-3",5,ctl-3)
menu("Del white-spc C-4",5,ctl-4)
menu("File size C-1",5,ctl-1)
menu("New TM EOL A-e",5,alt-e)
menu("New File EOL C-e",5,ctl-e)
runKey(shftAltCtl-z)
>
NOTE: shftAltCtl-z is used for whatever automatic stuff you care to program
Text Master to do at startup.
Press HELP if you want to see how to set up shftAltCtl-z to auto-load your
files.
---------------------------------------------------------------------------
Here is a description of how buffers are used in this file. If you make
changes which involve buffers, you should follow the convention in this list:
buf50-54 = used for temporary purposes in commands
buf49 = search string
buf48 = replace string
buf47 = copied hilite
buf46 = copied invert
buf45 = holds scratch deletes for Undo, keypad-0
buf44 = make-command buffer
buf43 = document names
buf42 = holds Help, if loaded
buf41 = used in buffer swapping command, ctl-w
buf40 = used for AmigaDOS commands
buf39 = used for result of AmigaDOS commands (if result selected)
buf38 = most recent directory name, if "Directory" has been selected
---------------------------------------------------------------------------
<normal-help: if (not isEmpty(buf42)) { toggle(curFile) freeBuf(buf42) }
else {
if (insertFile(buf42,sFile,"S:Help!")) {
editBuf(buf42)
flipFlag(buf42,readOnly)
flipFlag(buf42,changed)
} else putMsg("Couldn't find S:Help! file.")
} >
<shft-help: toggle(color) >
<alt-help: if (not isEmpty(buf42)) { toggle(curFile) freeBuf(buf42) }
else {
if (insertFile(buf42,sFile,"S:ascii.uedit")) {
editBuf(buf42)
flipFlag(buf42,readOnly)
flipFlag(buf42,changed)
} else putMsg("Couldn't find S:ascii.uedit file.")
} >
<ctl-help: showFlags>
NOTE: There can be shft-closeBox, alt-closeBox, etc, commands also.
<normal-closeBox: runKey(shft-f4) > execute graceful quit key
<normal-gadget1: vScroll(sPage)
moveCursor(curFile,sPage)>
<normal-gadget2: vScroll(ePage)
moveCursor(curFile,sPage)>
<normal-gadget4: toggle(curFile) >
*****************************************************************************
================================START========================================
*****************************************************************************
Turbo Amiga Functions by Thomas Althoff
*****************************************************************************
<normal-gadget3:
do(n54,0,19)
if (getFlag(buf[n54],changed))
{saveFile(buf[n54]) freeBuf(buf[n54])}
putMsg("Running Aztec 'Make', stand by")
freeBuf(buf39)
execute(buf39, "make")
runKey(shftAltCtl-f1)
>
=============================================================================
<alt-gadget3:
do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54])
putMsg("Input makefile name:")
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf39)
if (inputString(buf51))
{
putMsg("Running Aztec 'Make', stand by")
insertRgn(buf52,sFile,"make -f ",all)
insertRgn(buf52,eFile,buf51,all)
execute(buf39,buf52)
runKey(shftAltCtl-f1)
}
>
=============================================================================
<alt-gadget1:
do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54])
putMsg("Input command line: (-flags) filename.asm")
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf39)
if (inputString(buf51))
{
putMsg("Running Aztec 68000 Assembler, stand by")
insertRgn(buf52,sFile,"as ",all)
insertRgn(buf52,eFile,buf51,all)
execute(buf39,buf52)
runKey(shftAltCtl-f2)
}
>
=============================================================================
<ctl-gadget1:
do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54])
putMsg("Input command line: (-flags) (+options) filename.c")
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf39)
if (inputString(buf51))
{
putMsg("Running Aztec C68K Compiler, stand by")
insertRgn(buf52,sFile,"cc ",all)
insertRgn(buf52,eFile,buf51,all)
execute(buf39,buf52)
runKey(shftAltCtl-f1)
}
>
=============================================================================
<ctl-gadget2:
do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54])
putMsg("Input command line: (-flags) (+options) filename.o (-libraries)")
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf39)
if (inputString(buf51))
{
putMsg("Running Aztec C68K Linker, stand by")
insertRgn(buf52,sFile,"ln ",all)
insertRgn(buf52,eFile,buf51,all)
execute(buf39,buf52)
runKey(shftAltCtl-f1)
}
>
=============================================================================
<ctl-gadget3: do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54])
freeBuf(buf49)
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf39)
putMsg("Running 'CCHECK', stand by")
insertRgn(buf52,sFile,"ccheck ",all)
getFileName(buf51,curFile)
insertRgn(buf52,eFile,buf51,all)
execute(buf39,buf52)
insertRgn(buf49,sFile,"Summary:",all)
if (search(buf39,sInvert,eInvert,buf49,eChar))
{
moveCursor(buf39,eInvert)
if (not is(buf39,eLine)) moveCursor(buf39,eLine)
moveCursor(buf39,eChar)
equateLoc(buf39,sInvert,atCursor)
if(not is(buf39,eLine)) moveCursor(buf39,eLine)
equateLoc(buf39,eInvert,atCursor)
insertRgn(buf49,sInvert,buf39,invert)
putMsg(buf49)
}
else
{
moveCursor(buf39,eFile)
while(search(buf39,sInvert,eInvert,buf51,sChar))
{
moveCursor(buf39,sInvert)
clearRgn(buf39,invert)
}
putMsg(buf39)
}
freeBuf(buf49)
freeBuf(buf51)
freeBuf(buf52)
>
=============================================================================
Note: shftAltCtl-f1 is a dummy header to act as a subroutine common to
both make and make (filename). The actual key sequence of shift
alternate control F1 should never be entered manually, only through
the make or make (filename) command sequence or menu execution.
<shftAltCtl-f1:
freeBuf(buf35)
freeBuf(buf49)
freeBuf(buf54)
freeBuf(buf50)
freeBuf(buf51)
freeBuf(buf52)
insertRgn(buf49,sFile,"^",all)
label(15)
if (search(buf39,sInvert,eInvert,buf49,eChar))
{
moveCursor(buf39,eChar)
if(not is(buf39,ctlChar)) goto label(15)
moveCursor(buf39,sChar)
moveCursor(buf39,sChar)
if (not onScreen(atCursor)) vScroll(atCursor)
swapBuf(curFile,buf39)
runKey(alt-7)
swapBuf(curFile,buf39)
equateNum(n2,n44)
moveCursor(buf39,eChar)
if (not is(buf39,eLine)) moveCursor(buf39,eLine)
moveCursor(buf39,eChar)
equateLoc(buf39,sInvert,atCursor)
label(17)
while (not is(buf39,":")) moveCursor(buf39,eChar)
moveCursor(buf39,eChar)
if(not is(buf39,digit))
{
if(not is(buf39," ")) goto label(17)
}
moveCursor(buf39,sChar)
equateLoc(buf39,eInvert,atCursor)
freeBuf(buf54)
insertRgn(buf54,sInvert,buf39,invert)
moveCursor(buf39,eChar)
if(is(buf39," ")) moveCursor(buf39,eChar)
equateLoc(buf39,sInvert,atCursor)
while(not is(buf39,":")) moveCursor(buf39,eChar)
equateLoc(buf39,eInvert,atCursor)
insertRgn(buf35,sInvert,buf39,invert)
equateLoc(buf39,sInvert,atCursor)
while(not is(buf39,ctlChar)) moveCursor(buf39,eChar)
equateLoc(buf39,eInvert,atCursor)
insertRgn(buf52,sInvert,buf39,invert)
moveCursor(buf35,sFile)
toNumber(n1,buf35)
putMsg(buf54)
loadFile(buf54)
lineToLoc(curFile,atCursor,n1)
vScroll(atCursor)
while(sub(n2,n2,1)) moveCursor(curFile,eChar)
speak(buf52)
putMsg(buf52)
}
else
{
moveCursor(buf39,eFile)
moveCursor(buf39,sLine)
insertRgn(buf50,sFile,buf39,line)
moveCursor(buf50,sFile)
freeBuf(buf49)
insertRgn(buf49,sFile,"date",all)
if(search(buf50,sInvert,eInvert,buf49,eChar))
{
speak("Program is up to date")
putMsg(buf50)
goto label(16)
}
freeBuf(buf49)
moveCursor(buf50,eFile)
moveCursor(buf50,sLine)
insertRgn(buf49,sFile,"Assembler",all)
if(search(buf50,sInvert,eInvert,buf49,eChar))
{
speak("Done! no errors detected.")
putMsg("End of Job. No errors detected")
goto label(16)
}
freeBuf(buf49)
freeBuf(buf50)
moveCursor(buf39,sFile)
insertRgn(buf49,sFile,"Base:",all)
if(search(buf39,sInvert,eInvert,buf49,eChar))
{
while(not is(buf39,eLine))moveCursor(buf39,sChar)
moveCursor(buf39,sLine)
freeBuf(buf50)
freeBuf(buf49)
insertRgn(buf50,sFile,buf39,line)
moveCursor(buf50,sFile)
insertRgn(buf49,sFile,"Linker",all)
if(search(buf50,sInvert,eInvert,buf49,eChar))
{
speak("Done! no errors detected.")
putMsg("End of Job. No errors detected")
goto label(16)
}
}
speak("Error")
putMsg(buf50)
label(16)
}
freeBuf(buf35)
freeBuf(buf54)
freeBuf(buf51)
freeBuf(buf52)
freeBuf(buf49)
freeBuf(buf50)
>
=============================================================================
<shftAltCtl-f2:
freeBuf(buf35)
freeBuf(buf49)
freeBuf(buf54)
freeBuf(buf50)
freeBuf(buf51)
freeBuf(buf52)
insertRgn(buf49,sFile,"***ERROR",all)
moveCursor(buf39,eFile)
if (search(buf39,sInvert,eInvert,buf49,sChar))
{
moveCursor(buf39,eLine)
equateLoc(buf39,eInvert,atCursor)
insertRgn(buf52,sInvert,buf39,invert)
moveCursor(buf39,sLine)
equateLoc(buf39,sInvert,atCursor)
while (not is(buf39,":")) moveCursor(buf39,eChar)
equateLoc(buf39,eInvert,atCursor)
freeBuf(buf54)
insertRgn(buf54,sInvert,buf39,invert)
moveCursor(buf39,eInvert)
moveCursor(buf39,eChar)
moveCursor(buf39,eChar)
equateLoc(buf39,sInvert,atCursor)
while(not is(buf39,":")) moveCursor(buf39,eChar)
equateLoc(buf39,eInvert,atCursor)
insertRgn(buf35,sInvert,buf39,invert)
equateLoc(buf39,sInvert,atCursor)
while(not is(buf39,ctlChar)) moveCursor(buf39,eChar)
equateLoc(buf39,eInvert,atCursor)
moveCursor(buf35,sFile)
toNumber(n1,buf35)
freeBuf(buf49)
insertRgn(buf49,sFile,"^",all)
moveCursor(buf39,eFile)
if (search(buf39,sInvert,eInvert,buf49,sChar))
{
swapBuf(curFile,buf39)
moveCursor(curFile,sChar)
runKey(alt-7)
swapBuf(curFile,buf39)
equateNum(n2,n44)
}
putMsg(buf54)
loadFile(buf54)
lineToLoc(curFile,atCursor,n1)
vScroll(atCursor)
while(sub(n2,n2,1)) moveCursor(curFile,eChar)
speak("Error in Assembler source code")
putMsg(buf52)
}
>
*****************************************************************************
=================================END=========================================
*****************************************************************************
<normal-upArrow: vScroll(upLine) >
<normal-downArrow: vScroll(downLine) >
<normal-leftArrow: hScroll(eChar) >
<normal-rightArrow: hScroll(sChar) >
<shft-upArrow: do (n54,1,11) vScroll(upLine) >
<shft-downArrow: do (n54,1,11) vScroll(downLine) >
<shft-leftArrow: do (n54,1,10) hScroll(eChar) >
<shft-rightArrow: do (n54,1,10) hScroll(sChar) >
<alt-upArrow: vScroll(sPage)
moveCursor(curFile,sPage)>
<alt-downArrow: vScroll(ePage)
moveCursor(curFile,sPage)>
/***************************************************************************/
================================END========================================
/***************************************************************************/
<alt-leftArrow: do (n54,1,20) hScroll(eChar) >
<alt-rightArrow: do (n54,1,20) hScroll(sChar) >
<ctl-upArrow: vScroll(sFile) >
<ctl-downArrow: vScroll(eFile) >
<ctl-leftArrow: equateNum(n54,lineLength)
do (n53,1,n54) hScroll(eChar) >
<ctl-rightArrow: while (hScroll(sChar)) nothing >
place cursor
<normal-buttonDown: moveCursor(curFile,mouseLoc)
putMsg("| Go UP Page | Go DOWN Page | MAKE | NEXT FILE ")>>
set start of hilite
<shft-buttonDown: equateLoc(curFile,sHilite,mouseLoc) refreshDisplay >
set end of hilite
<alt-buttonDown: equateLoc(curFile,eHilite,mouseLoc) refreshDisplay >
load filename that is clicked
<ctl-buttonDown:
equateLoc(curFile,atCursor,mouseLoc)
if (not is(curFile,whiteSpace)) {
while (not is(curFile,whiteSpace))
{ moveCursor(curFile,sChar) if (is(curFile,sFile)) goto label(1) }
label(1)
while (is(curFile,whiteSpace)) moveCursor(curFile,eChar)
equateLoc(curFile,sInvert,atCursor)
while (not is(curFile,whiteSpace)) moveCursor(curFile,eChar)
equateLoc(curFile,eInvert,atCursor)
refreshDisplay
freeBuf(buf54)
insertRgn(buf54,sFile,buf38,all)
insertRgn(buf54,eFile,curFile,invert)
loadFile(buf54)
}
>
Click or drag mouse, put word/phrase into index in buf41. (Ctl-w to see.)
<shftAlt-buttonDown:
equateLoc(curFile,atCursor,mouseLoc)
moveCursor(curFile,eWord)
equateLoc(curFile,eInvert,atCursor)
moveCursor(curFile,sWord)
equateLoc(curFile,sInvert,atCursor) >
((See shftAlt-buttonDown and shftAlt-i.))
<shftAlt-buttonUp:
equateLoc(curFile,atCursor,mouseLoc)
moveCursor(curFile,eWord)
equateLoc(curFile,eInvert,atCursor)
if (geLoc(curFile,sInvert,eInvert)) returnFalse
moveCursor(curFile,sInvert)
if (is(curFile,upperCase)) equateNum(n0,1)
else equateNum(n0,0)
toLower(curFile)
copyChar(curFile,n54)
if (eqNum(n0,1)) toUpper(curFile)
if (isEmpty(buf41)) insertChar(buf41,eLine)
moveCursor(buf41,sFile)
equateLoc(buf41,sPage,atCursor)
label(1)
if (is(buf41,upperCase)) equateNum(n0,1)
else equateNum(n0,0)
toLower(buf41)
copyChar(buf41,n53)
if (eqNum(n0,1)) toUpper(buf41)
if (gtNum(n54,n53)) {
moveCursor(buf41,downLine)
if (not is(buf41,eFile)) goto label(1)
}
insertRgn(buf41,atCursor,curFile,invert)
insertChar(buf41,eLine)
>
/*********** Invert mouse drag bypassed by althoff ******************/
set start of invert
<shftCtl-buttonDown:> equateLoc(curFile,sInvert,mouseLoc) refreshDisplay
set end of invert
<altCtl-buttonDown:> equateLoc(curFile,eInvert,mouseLoc) refreshDisplay
/*********************************************************************/
drag mouse and create hilite
<shftAltCtl-buttonDown:
equateLoc(curFile,locA,mouseLoc)
while (trackMouse)
{
if (gtLoc(curFile,locA,mouseLoc))
{
equateLoc(curFile,sHilite,mouseLoc)
equateLoc(curFile,eHilite,locA)
}
else
{
equateLoc(curFile,eHilite,mouseLoc)
equateLoc(curFile,sHilite,locA)
}
refreshDisplay
}
>
switch to next file
<normal-f1: toggle(curFile) >
switch to next favorite
<shft-f1: toggle(favorite) >
<alt-f1: putMsg("Input new filename:")
freeBuf(buf43)
if (inputString(buf43)) loadFile(buf43) >
open new blank file buffer
<ctl-f1: newFile >
<shftAlt-f1: putMsg("Input filename to insert:")
freeBuf(buf43)
if (inputString(buf43)) insertFile(curFile,atCursor,buf43) >
<shftCtl-f1: if (not askYesNo("Restore file to original?"))
returnFalse
if (getFileName(buf43,curFile))
{ freeBuf(curFile) loadFile(buf43) } >
save file currently in window
<normal-f2: saveFile(curFile) >
<shft-f2: putMsg("Save file as:")
freeBuf(buf43)
if (inputString(buf43)) if (setFileName(curFile,buf43))
saveFile(curFile) >
save all changed files
<alt-f2: do(n54,0,19)
if (getFlag(buf[n54],changed)) saveFile(buf[n54]) >
<normal-f3: if (getFlag(curFile,changed))
if (askYesNo("Save changes before closing?"))
if (not saveFile(curFile)) returnFalse
freeBuf(curFile) >
save file, if changed, then close it
<shft-f3: if (getFlag(curFile,changed)) if (not saveFile(curFile))
returnFalse
freeBuf(curFile) >
free all buffers
<alt-f3: do(n54,20,54) freeBuf(buf[n54]) >
<shftAltCtl-f3: >
<normal-f4: if (not askYesNo("Really quit?")) returnFalse
equateNum(n53,0)
do(n54,0,19) if (getFlag(buf[n54],changed)) equateNum(n53,1)
if (eqNum(n53,1)) if (askYesNo("Save changes?")) runKey(shft-f4)
quit >
save all changed files, then quit
<shft-f4: do (n54,0,19) if (getFlag(buf[n54],changed))
if (not saveFile(buf[n54])) returnFalse
quit >
quit WITHOUT saving any files
<alt-f4: quit >
switch flag settings:
<normal-f5: flipFlag(curFile,favorite) >
<shft-f5: flipFlag(curFile,overstrike) >
<alt-f5: flipFlag(curFile,autoIndent) >
<ctl-f5: flipFlag(curFile,wordWrap) >
<shftAlt-f5: flipFlag(curFile,readOnly) >
<shftCtl-f5: flipFlag(curFile,speakMsgs) >
<altCtl-f5: flipFlag(curFile,speakAlerts) >
<shftAltCtl-f5: flipFlag(curFile,autoBackup) >
compile command in current buffer in window
<normal-f6: compile >
select buffer 44 to use for writing commands
<shft-f6: editBuf(buf44)
putMsg("Type in command, <anykey: etc>, and press F6 to compile:") >
save Text Master configuration to disk
<alt-f6:
if (askYesNo("Save config?")) {
putMsg("Input data filename or ESC:")
freeBuf(buf54)
inputString(buf54)
saveConfig(buf54)
} >
restore Text Master configuration from disk
<ctl-f6:
if (askYesNo("Load config?")) {
putMsg("Input data filename or ESC:")
freeBuf(buf54)
inputString(buf54)
loadConfig(buf54)
} >
edit a buffer
<shftAlt-f6: putMsg("Input number of buffer to edit:")
if (inputNum(n54)) editBuf(buf[n54]) >
examine all buffers that aren't empty
<shftCtl-f6: do (n54,20,54) if (not isEmpty(buf[n54])) {
editBuf(buf[n54])
refreshDisplay
putMsg("F1=continue, F2=edit this one, F3=stop:")
getKey(n53)
if (eqNum(n53,normal-f2)) { putMsg(" ") returnTrue }
if (eqNum(n53,normal-f3)) goto label(1)
}
label(1)
toggle(curFile)
putMsg(" ") >
swap anything, including mouse clicks, menu selections, gadgets, keys
<altCtl-f6: putMsg("Next 2 function-keys will be swapped!")
if (getKey(n53)) if (getKey(n54)) if (swapKey(n53,n54))
{ putMsg("Keys were swapped.") returnTrue }
putMsg(" ") >
kill command, including mouse clicks, menu selections, gadgets, keys
<shftAltCtl-f6:
putMsg("Next command-key will be deleted!")
if (getKey(n54)) if (killKey(n54))
{ putMsg("Key command was deleted.") returnTrue }
putMsg(" ") >
input search text to use, including either-or "$" and wildcards "?"
<normal-f7: freeBuf(buf49) runKey(shft-f7) >
modify existing search text
<shft-f7: putMsg("Input search string:")
inputString(buf49)
runKey(normal-f9) >
<alt-f7: putMsg("Input new search wild-card char:")
freeBuf(buf49)
if (inputString(buf49))
{ moveCursor(buf49,sFile) copyChar(buf49,wildCard) } >
<ctl-f7: putMsg("Input new search either-or char:")
freeBuf(buf49)
if (inputString(buf49))
{ moveCursor(buf49,sFile) copyChar(buf49,eitherOr) } >
input replace text
<normal-f8: freeBuf(buf48) runKey(shft-f8) >
modify existing replace text
<shft-f8: putMsg("input replace string:") inputString(buf48) >
NOTE: returnTrue is needed below because "thisKey" could return a False even
though search() returned True. returnFalse is needed because equateLoc()
will return a True:
search forward, invert "matched" region, put cursor at start of region
<normal-f9: if (eqLoc(curFile,atCursor,eInvert)) moveCursor(curFile,sChar)
if (search(curFile,sInvert,eInvert,buf49,eChar)) {
if (thisKey) if (not onScreen(atCursor)) vScroll(atCursor)
returnTrue
}
putMsg("Search failed.")
equateLoc(curFile,sInvert,eInvert)
returnFalse >
search backward
<shft-f9: if (search(curFile,sInvert,eInvert,buf49,sChar)) {
if (thisKey) if (not onScreen(atCursor)) vScroll(atCursor)
returnTrue
}
putMsg("Search failed.")
equateLoc(curFile,sInvert,eInvert)
returnFalse >
replace "matched" region, then search forward
<normal-f10: if (eqLoc(curFile,sInvert,eInvert)) returnFalse
clearRgn(curFile,invert)
insertRgn(curFile,sInvert,buf48,all)
runKey(normal-f9) >
replace "matched" region, then search backward
<shft-f10: if (eqLoc(curFile,sInvert,eInvert)) returnFalse
clearRgn(curFile,invert)
insertRgn(curFile,sInvert,buf48,all)
runKey(shft-f9) >
replace-all forward
<alt-f10: while(runKey(normal-f10)) nothing >
These keys use the Keypad Keys below - be sure and change them if you change
the Keypad Keys:
/*************************************************************************/
========= Shft-bs converted to normal-bs by ALTHOFF ======================
shft-bs: runKey(normal-kp7) delete word left
/*************************************************************************/
<shft-del: runKey(normal-kp9) > delete word right
<alt-bs: runKey(alt-kp7) > delete line left
<alt-del: runKey(alt-kp9) > delete line right
<ctl-bs: runKey(ctl-kp7) > delete page left
<ctl-del: runKey(ctl-kp9) > delete page right
---------------------------- Keypad Keys ----------------------------------
find cursor
<normal-kp5: vScroll(atCursor) >
delete word left
<normal-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locB,atCursor)
moveCursor(curFile,sWord)
equateLoc(curFile,locA,atCursor)
insertRgn(buf45,sFile,curFile,loc)
clearRgn(curFile,loc) >
delete word right
<normal-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locA,atCursor)
moveCursor(curFile,eWord)
equateLoc(curFile,locB,atCursor)
insertRgn(buf45,eFile,curFile,loc)
clearRgn(curFile,loc) >
<normal-kp8: moveCursor(curFile,upLine) >
<normal-kp2: moveCursor(curFile,downLine) >
<normal-kp4: moveCursor(curFile,sWord) >
<normal-kp6: moveCursor(curFile,eWord) >
set start of hilite at cursor
<normal-kp1: equateLoc(curFile,sHilite,atCursor) refreshDisplay >
set end of hilite at cursor
<normal-kp3: equateLoc(curFile,eHilite,atCursor) refreshDisplay >
UNDO scratch deletes, inserting scratch delete buffer at cursor
<normal-kp0: insertRgn(curFile,atCursor,buf45,all) >
copy hilite region into buffer
<normal-kpDot: if (not eqLoc(curFile,sHilite,eHilite))
{ freeBuf(buf47) insertRgn(buf47,sFile,curFile,hilite) }
else returnFalse >
copy hilite region into buffer, then delete hilite region
<normal-kpMinus: if (runKey(normal-kpDot)) clearRgn(curFile,hilite) >
insert copied hilite at cursor
<normal-kpEnter: insertRgn(curFile,atCursor,buf47,all)
if (not onScreen(atCursor)) vScroll(atCursor) >
<shft-kp5: vScroll(atCursor) >
delete character left
<shft-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locB,atCursor)
moveCursor(curFile,sChar)
equateLoc(curFile,locA,atCursor)
insertRgn(buf45,sFile,curFile,loc)
clearRgn(curFile,loc) >
delete character under cursor
<shft-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locA,atCursor)
moveCursor(curFile,eChar)
equateLoc(curFile,locB,atCursor)
insertRgn(buf45,eFile,curFile,loc)
clearRgn(curFile,loc) >
<shft-kp8: moveCursor(curFile,upLine) >
<shft-kp2: moveCursor(curFile,downLine) >
<shft-kp4: moveCursor(curFile,sChar) >
<shft-kp6: moveCursor(curFile,eChar) >
<shft-kp1: runKey(normal-kp1) >
<shft-kp3: runKey(normal-kp3) >
<shft-kp0: runKey(normal-kp0) >
<shft-kpDot: runKey(normal-kpDot) >
<shft-kpMinus: runKey(normal-kpMinus) >
<shft-kpEnter: runKey(normal-kpEnter) >
<alt-kp5: vScroll(atCursor) >
delete line left
<alt-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
if (is(curFile,sLine)) runKey(shft-kp7)
else {
equateLoc(curFile,locB,atCursor)
moveCursor(curFile,sLine)
equateLoc(curFile,locA,atCursor)
insertRgn(buf45,sFile,curFile,loc)
clearRgn(curFile,loc)
} >
delete line right
<alt-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
if (is(curFile,eLine)) runKey(shft-kp9)
else {
equateLoc(curFile,locA,atCursor)
moveCursor(curFile,eLine)
equateLoc(curFile,locB,atCursor)
insertRgn(buf45,eFile,curFile,loc)
clearRgn(curFile,loc)
} >
<alt-kp8: moveCursor(curFile,upLine) >
<alt-kp2: moveCursor(curFile,downLine) >
<alt-kp4: moveCursor(curFile,sLine) >
<alt-kp6: moveCursor(curFile,eLine) >
<alt-kp1: runKey(normal-kp1) >
<alt-kp3: runKey(normal-kp3) >
<alt-kp0: runKey(normal-kp0) >
<alt-kpDot: runKey(normal-kpDot) >
<alt-kpMinus: runKey(normal-kpMinus) >
<alt-kpEnter: runKey(normal-kpEnter) >
<ctl-kp5: vScroll(atCursor) >
delete to start of page
<ctl-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locB,atCursor)
moveCursor(curFile,sPage)
equateLoc(curFile,locA,atCursor)
insertRgn(buf45,sFile,curFile,loc)
clearRgn(curFile,loc)
vScroll(atCursor) >
delete to end of page
<ctl-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locA,atCursor)
moveCursor(curFile,ePage)
equateLoc(curFile,locB,atCursor)
insertRgn(buf45,eFile,curFile,loc)
clearRgn(curFile,loc) >
<ctl-kp8: moveCursor(curFile,sPage) vScroll(atCursor) >
<ctl-kp2: moveCursor(curFile,ePage) vScroll(atCursor) >
<ctl-kp4: moveCursor(curFile,sLine) >
<ctl-kp6: moveCursor(curFile,eLine) >
set start of invert at cursor
<ctl-kp1: equateLoc(curFile,sInvert,atCursor) refreshDisplay >
set end of invert at cursor
<ctl-kp3: equateLoc(curFile,eInvert,atCursor) refreshDisplay >
<ctl-kp0: runKey(normal-kp0) >
copy invert region into buffer
<ctl-kpDot: if (not eqLoc(curFile,sInvert,eInvert))
{ freeBuf(buf46) insertRgn(buf46,sFile,curFile,invert) }
else returnFalse >
copy, then delete, invert region
<ctl-kpMinus: runKey(ctl-kpDot) clearRgn(curFile,invert) >
insert copied invert region at cursor
<ctl-kpEnter: insertRgn(curFile,atCursor,buf46,all)
if (not onScreen(atCursor)) vScroll(atCursor) >
------------------------- miscellaneous keys -------------------------------
<ctl-return: putMsg("Enter new line-length:")
if (inputNum(n54)) if (gtNum(n54,0))
{ setLocal(curFile,lineLength,n54) equateNum(lineLength,n54) } >
transparent tab fwd
<shft-tab: while (moveCursor(curFile,eChar)) {
if (is(curFile,sLine)) returnTrue
if (is(curFile,tabColumn)) returnTrue
}
returnFalse >
transparent tab bkwd
<alt-tab: while (moveCursor(curFile,sChar)) {
if (is(curFile,sLine)) returnTrue
if (is(curFile,tabColumn)) returnTrue
}
returnFalse >
untab - delete spaces back to prev tab column
<ctl-tab: equateNum(n53,tabSpacing)
do (n54,1,n53) {
moveCursor(curFile,sChar)
if (is(curFile,space)) clearChar(curFile)
else { moveCursor(curFile,eChar) returnFalse }
if (is(curFile,tabColumn)) returnTrue
} >
<shftAlt-tab: putMsg("Converting spaces to TABs....")
spacesToTabs putMsg(" ") >
<shftCtl-tab: putMsg("Converting TABs to spaces....")
tabsToSpaces putMsg(" ") >
<shftAltCtl-tab:
putMsg("Enter new tab spacing:")
if (inputNum(n54)) if (gtNum(n54,0))
{ setLocal(curFile,tabSpacing,n54) equateNum(tabSpacing,n54) } >
trim spaces between next 2 words
<ctl-b: flipFlag(curFile,busies) >
trim spaces between words
<alt-c: while (not is(curFile,space))
{ moveCursor(curFile,eChar) if (is(curFile,eFile)) returnTrue }
moveCursor(curFile,eChar)
while (is(curFile,space)) clearChar(curFile) >
input a ctl-character, such as formfeed, into text at cursor
<ctl-c: putMsg("Input a control character:") inputCtlChar >
input a command and count number of times executed
<shftAlt-c: equateNum(n54,0)
putMsg("Input command to execute & count:")
if (getKey(n53)) {
while (runKey(n53)) incNum(n54)
freeBuf(buf54)
insertRgn(buf54,sFile,"Times executed = ",all)
toWord(buf54,n54)
putMsg(buf54)
} >
delay # tenths of seconds stored in n46 (see shftAlt-d)
<alt-d: delay(n46) >
delete entire line
<ctl-d: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
equateLoc(curFile,locB,atCursor)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
if (not eqLoc(curFile,locB,atCursor)) {
equateLoc(curFile,locA,atCursor)
insertRgn(buf45,sFile,curFile,loc)
clearRgn(curFile,loc)
} else equateLoc(curFile,locA,atCursor)
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
moveCursor(curFile,eChar)
equateLoc(curFile,locB,atCursor)
insertRgn(buf45,eFile,curFile,loc)
clearRgn(curFile,loc) >
<shftAlt-d: putMsg("Input # tenths of seconds (used in delays)")
inputNum(n46) >
<alt-e: putMsg("Input new end-of-line value (usually 10 or 13):")
inputNum(n54)
setEol(n54)
refreshDisplay >
<ctl-e:
putMsg("Input file's current end-of-line value (usually 10 or 13):")
inputNum(n54)
if (not gtNum(n54,0)) returnFalse
putMsg("Input new end-of-line value (usually 10 or 13):")
inputNum(n53)
if (not gtNum(n53,0)) returnFalse
setEol(n54)
moveCursor(curFile,sFile)
putMsg("Changing eol characters ... hit Amiga-ESC to abort.")
while (moveCursor(curFile,eLine))
if (is(curFile,n54)) swapChar(curFile,n53)
setEol(n53)
vScroll(sFile)
putMsg(" ")
refreshDisplay >
<alt-f: putMsg("Input buffer # to free:")
inputNum(n54)
freeBuf(buf[n54]) >
flip upper/lower case of character under cursor
<ctl-f: if (is(curFile,alpha)) {
if (is(curFile,lowerCase)) toUpper(curFile)
else toLower(curFile)
}
moveCursor(curFile,eChar) >
<ctl-g: flipFlag(curFile,markGadgets) >
<alt-g: putMsg("Enter new lines/page:")
if (inputNum(n54))
{ setLocal(curFile,pageLines,n54) equateNum(pageLines,n54) } >
unhilite the hilite
<alt-h: equateLoc(curFile,sHilite,eHilite) refreshDisplay >
clear hilite region - No Copy is made
<ctl-h: clearRgn(curFile,hilite) >
uninvert the invert
<alt-i: equateLoc(curFile,sInvert,eInvert) refreshDisplay >
clear invert region - No Copy is made
<ctl-i: clearRgn(curFile,invert) >
Scan list in buf41, create index. ((See shftAlt-buttonDown & buttonUp.))
<shftAlt-i:
if (isEmpty(buf41)) returnFalse
runKey(alt-g)
freeBuf(buf54)
label(1)
moveCursor(buf41,sFile)
while (is(buf41,whiteSpace)) clearChar(buf41)
if (is(buf41,eFile)) {
swapBuf(buf54,buf41)
freeBuf(buf54)
setFileName(buf41,"Index")
equateLoc(buf41,sPage,sFile)
equateLoc(buf41,atCursor,sFile)
putMsg("Press ctl-w to see Index")
returnTrue
}
freeBuf(buf49)
insertRgn(buf49,sFile,buf41,line)
clearRgn(buf41,line)
putMsg(buf49)
moveCursor(buf54,eFile)
insertRgn(buf54,eFile,buf49,all)
insertRgn(buf54,eFile," ",all)
insertChar(buf54,eLine)
moveCursor(buf54,sChar)
equateNum(n53,0)
moveCursor(curFile,sFile)
label(2)
while (search(curFile,sInvert,eInvert,buf49,eChar)) {
moveCursor(curFile,sChar)
if (is(curFile,alpha)) {
label(3)
moveCursor(curFile,eInvert)
goto label(2)
}
if (is(curFile,digit)) goto label(3)
moveCursor(curFile,eInvert)
if (is(curFile,alpha)) goto label(2)
if (is(curFile,digit)) goto label(2)
locToLine(curFile,n54,atCursor)
div(n54,n54,pageLines)
incNum(n54)
if (not eqNum(n54,n53)) {
if (not eqNum(n53,0)) insertChar(buf54,",")
toWord(buf54,n54)
equateNum(n53,n54)
}
}
goto label(1)
>
<alt-j: flipFlag(curFile,rightJustify) >
join two lines together
<ctl-j: if (not is(curFile,eLine)) moveCursor(curFile,eLine)
equateLoc(curFile,locA,atCursor)
label(1)
moveCursor(curFile,eChar)
if (is(curFile,space)) goto label(1)
equateLoc(curFile,locB,atCursor)
clearRgn(curFile,loc)
insertRgn(curFile,atCursor," ",all) >
move hilite region to left by one space
<alt-l: moveCursor(curFile,sHilite)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
label(1)
if (is(curFile,space)) clearChar(curFile)
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
moveCursor(curFile,eChar)
if (gtLoc(curFile,eHilite,atCursor)) goto label(1) >
convert char under cursor to lower case
<ctl-l: toLower(curFile) moveCursor(curFile,eChar) >
<ctl-m: putMsg("Input command multiplier:") inputNum(cmdMultiplier) >
rename document in window
<alt-n: putMsg("Input new filename:")
getFileName(buf43,curFile)
if (inputString(buf43))
setFileName(curFile,buf43) >
go to line number in text
<ctl-n: putMsg("Input line number:")
if (inputNum(n54))
{ lineToLoc(curFile,atCursor,n54) vScroll(atCursor) } >
open cursor line for typing
<ctl-o: insertChar(curFile,eLine) moveCursor(curFile,sChar) >
print hilite region
<ctl-p: print(curFile,hilite) >
switch between printing thru parallel port and through Amiga Preferences
<alt-p: flipFlag(curFile,prefPrint) >
move hilite region to right by one space
<alt-r: moveCursor(curFile,sHilite)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
label(1)
if (gtLoc(curFile,eHilite,atCursor)) {
insertChar(curFile," ")
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
moveCursor(curFile,eChar)
goto label(1)
} >
run whatever is stored in learn-buffer
<ctl-r: runLearn >
speak the hilite region a line at a time
<alt-s: if (gtLoc(curFile,eHilite,sHilite)) {
equateLoc(curFile,locA,atCursor)
equateLoc(curFile,sInvert,sHilite)
equateLoc(curFile,atCursor,sHilite)
while (gtLoc(curFile,eHilite,sInvert)) {
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
moveCursor(curFile,eChar)
if (gtLoc(curFile,atCursor,eHilite))
equateLoc(curFile,eInvert,eHilite)
else equateLoc(curFile,eInvert,atCursor)
if (gtLoc(curFile,eInvert,sInvert)) {
freeBuf(buf50)
insertRgn(buf50,sFile,curFile,invert)
speak(buf50)
}
equateLoc(curFile,sInvert,atCursor)
}
equateLoc(curFile,atCursor,locA)
} >
start/abort Learn Mode
<ctl-s: if (not getFlag(curFile,learnMode)) putMsg("LEARN MODE ACTIVE!")
else putMsg("Learn Mode cancelled.")
flipFlag(curFile,learnMode) >
Use keys for character/number input
<alt-u: flipFlag(curFile,useKeys)>
switch char under cursor to upper case
<ctl-u: toUpper(curFile) moveCursor(curFile,eChar) >
switch flag that makes control-characters visible/invisible
<ctl-v: flipFlag(curFile,spooks) refreshDisplay >
swap current buffer in window with buffer 41
<ctl-w: swapBuf(curFile,buf41) >
for programmers: toggle number under cursor betw hexadecimal/decimal
<ctl-x: hexDecimal(curFile) >
execute AmigaDOS command but don't collect the results
<ctl-y: putMsg("Enter AmigaDOS command")
freeBuf(buf40)
inputString(buf40)
if (not isEmpty(buf40)) execute(" ",buf40) >
execute AmigaDOS command and collect results
<ctl-z: putMsg("Enter AmigaDOS command")
freeBuf(buf40)
inputString(buf40)
if (isEmpty(buf40)) returnFalse
freeBuf(buf39)
if (not execute(buf39,buf40)) returnFalse
if (not isEmpty(buf39))
{ putMsg("Result of AmigaDOS command:") editBuf(buf39) }
else
{ putMsg("No message from AmigaDOS.") freeBuf(buf39) } >
get a directory - this sets directoryname in buf38 that is used in click-
loading files (see ctl-buttonDown)
<alt-z: putMsg("Enter directory: ")
freeBuf(buf38)
inputString(buf38)
freeBuf(buf54)
insertRgn(buf54,eFile,"Dir ",all)
insertRgn(buf54,eFile,buf38,all)
if (not execute(buf39,buf54)) returnFalse
moveCursor(buf38,eFile)
moveCursor(buf38,sChar)
if (not isEmpty(buf38)) if (not is(buf38,":"))
insertRgn(buf38,eFile,"/",all)
insertRgn(buf39,sFile,"
",all)
insertRgn(buf39,sFile,buf38,all)
newFile
swapBuf(buf39,curFile)
freeBuf(buf39)
vScroll(sFile)
putMsg("To load files, ctrl-click names with mouse.")
setFileName(curFile,buf54)
flipFlag(curFile,changed) >
match columns
<alt-0: equateNum(n43,n44)
runKey(alt-7)
while (gtNum(n43,n44)) {
insertChar(curFile,32)
decNum(n43)
}
while (gtNum(n44,n43)) {
moveCursor(curFile,sChar)
if (not is(curFile," ")) returnFalse
incNum(n43)
clearChar(curFile)
} >
clear leading white space
<alt-1: if (not is(curFile,sLine)) moveCursor(curFile,sLine)
while (is(curFile,whiteSpace)) {
if (is(curFile,eLine)) returnTrue
clearChar(curFile)
} >
center text in line
<alt-2: runKey(alt-1)
equateNum(n54,lineLength)
do (n53,1,n54) {
if (is(curFile,eLine)) goto label(1)
incLoc(curFile,atCursor)
}
label(1)
if (gtNum(lineLength,n53)) {
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
sub(n53,lineLength,n53)
div(n53,n53,2)
do (n54,2,n53) insertChar(curFile," ")
} >
go to page #
<alt-3: putMsg("Go to page #:")
if (inputNum(n54)) if (gtNum(pageLines,1)) {
sub(n54,n54,1)
mul(n54,n54,pageLines)
moveCursor(curFile,sFile)
do (n53,1,n54) moveCursor(curFile,downLine)
} else putMsg("Lines/page not defined")>
match indent of prev line
<alt-4: if (not is(curFile,sLine)) moveCursor(curFile,sLine)
if (is(curFile,sFile)) returnFalse
moveCursor(curFile,sLine)
equateNum(n54,0)
while (is(curFile,space)) {
incLoc(curFile,atCursor)
incNum(n54)
}
moveCursor(curFile,downLine)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
equateNum(n53,0)
while (is(curFile,space)) {
incLoc(curFile,atCursor)
incNum(n53)
}
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
while (gtNum(n54,n53)) {
insertChar(curFile,32)
incNum(n53)
}
while (gtNum(n53,n54)) {
clearChar(curFile)
decNum(n53)
} >
justify right
<alt-5: equateLoc(curFile,locA,atCursor)
runKey(alt-6)
equateLoc(curFile,atCursor,locA)
decNum(n45)
while (gtNum(lineLength,n45)) {
insertChar(curFile,32)
incNum(n45)
}
while (gtNum(n45,lineLength)) {
moveCursor(curFile,sChar)
if (not is(curFile,32)) returnFalse
clearChar(curFile)
decNum(n45)
} >
store cursor line length in n45
<alt-6: equateLoc(curFile,locA,atCursor)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
do (n45,1,999999999) {
if (is(curFile,eLine)) goto label(1)
moveCursor(curFile,eChar)
}
label(1)
equateLoc(curFile,atCursor,locA) >
store cursor col in n44
<alt-7: equateLoc(curFile,locA,atCursor)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
do (n44,1,999999999) {
if (eqLoc(curFile,atCursor,locA)) goto label(1)
if (is(curFile,eLine)) goto label(1)
moveCursor(curFile,eChar)
}
label(1)
equateLoc(curFile,atCursor,locA) >
Show value of n-variable
<alt-8: putMsg("n-variable #: ")
inputNum(n54)
freeBuf(buf54)
insertChar(buf54,"n")
toWord(buf54,n54)
insertRgn(buf54,eFile," is ",all)
toWord(buf54,n[n54])
putMsg(buf54) >
Set value of n-variable
<alt-9: putMsg("Set n-variable #:")
inputNum(n54)
putMsg("To value:")
inputNum(n[n54])>
tell what ASCII value is of char under cursor (use to ID ctl-chars)
<ctl-/: copyChar(curFile,n54)
freeBuf(buf54)
toWord(buf54,n54)
insertRgn(buf54,sFile,"Character value under cursor was ",all)
putMsg(buf54)
moveCursor(curFile,eChar) >
display file-size in message line (if slow, it packed file first)
<ctl-1: fileSize(curFile,n54)
freeBuf(buf54)
insertRgn(buf54,sFile,"File size in bytes: ",all)
toWord(buf54,n54)
putMsg(buf54)>
<ctl-2: flipFlag(curFile,rowCol) >
reformat paragraph
<ctl-3: putMsg("Reformatting...")
if (reformat) moveCursor(curFile,downLine)
putMsg(" ")>
delete trailing white-space in entire document
<ctl-4: equateLoc(curFile,locA,atCursor)
moveCursor(curFile,sFile)
label(1)
if (is(curFile,eFile))
{ equateLoc(curFile,atCursor,locA) returnTrue }
moveCursor(curFile,eLine)
moveCursor(curFile,sChar)
while (is(curFile,space))
{ clearChar(curFile) moveCursor(curFile,sChar) }
moveCursor(curFile,eLine)
goto label(1) >
save learn-sequence to disk
<ctl-5: putMsg("Save Learn under what #?")
if (inputNum(n54)) saveLearn(n54) >
load a learn-sequence stored on disk
<ctl-6: putMsg("Load what Learn #?")
if (inputNum(n54)) loadLearn(n54) >
both load & run a learn-sequence stored on disk
<ctl-7: putMsg("Input learn # to load & run:")
if (inputNum(n54)) if (loadLearn(n54)) runLearn >
<ctl-8: flipFlag(curFile,searchCaps) >
arithmetic commands:
set running total to zer0
<ctl-0: equateNum(n49,0)
equateNum(n48,0)
equateNum(n47,0) >
type running total into text at cursor
<ctl-\: freeBuf(buf54)
if (eqNum(n47,1)) insertChar(buf54,"-")
toWord(buf54,n49)
insertChar(buf54,".")
if (gtNum(10,n48)) insertChar(buf54,"0")
toWord(buf54,n48)
insertRgn(curFile,atCursor,buf54,all)
insertRgn(buf54,sFile,"Inserted total into text ",all)
putMsg(buf54) >
add next word (if a number) to running total & display total
<ctl-=: moveCursor(curFile,eWord)
moveCursor(curFile,sWord)
toNumber(n54,curFile)
moveCursor(curFile,eWord)
equateNum(n53,0)
if (is(curFile,".")) {
moveCursor(curFile,eChar)
toNumber(n53,curFile)
moveCursor(curFile,eWord)
}
mul(n49,n49,100)
add(n49,n49,n48)
mul(n54,n54,100)
add(n54,n54,n53)
if (eqNum(n47,1)) {
if (gtNum(n54,n49)) { equateNum(n47,0) sub(n49,n54,n49) }
else sub(n49,n49,n54)
} else add(n49,n49,n54)
mod(n48,n49,100)
div(n49,n49,100)
freeBuf(buf54)
if (eqNum(n47,1)) insertChar(buf54,"-")
toWord(buf54,n49)
insertChar(buf54,".")
if (gtNum(10,n48)) insertChar(buf54,"0")
toWord(buf54,n48)
insertRgn(buf54,sFile,"Running total is ",all)
putMsg(buf54) >
subtract next word (if a number) from running total & display total
<ctl--: moveCursor(curFile,eWord)
moveCursor(curFile,sWord)
toNumber(n54,curFile)
moveCursor(curFile,eWord)
equateNum(n53,0)
if (is(curFile,".")) {
moveCursor(curFile,eChar)
toNumber(n53,curFile)
moveCursor(curFile,eWord)
}
mul(n49,n49,100)
add(n49,n49,n48)
mul(n54,n54,100)
add(n54,n54,n53)
if (eqNum(n47,0)) {
if (gtNum(n54,n49)) { equateNum(n47,1) sub(n49,n54,n49) }
else sub(n49,n49,n54)
} else add(n49,n49,n54)
mod(n48,n49,100)
div(n49,n49,100)
freeBuf(buf54)
if (eqNum(n47,1)) insertChar(buf54,"-")
toWord(buf54,n49)
insertChar(buf54,".")
if (gtNum(10,n48)) insertChar(buf54,"0")
toWord(buf54,n48)
insertRgn(buf54,sFile,"Running total is ",all)
putMsg(buf54) >
-------------------------- end of Config! ----------------------------------
Erase these commands after you are through with them. They'll save about 1.3k
in data file size.
DO NOT share or distribute Uedit WITHOUT these commands included!
Distribute ONLY the original Uedit.arc version!
When you erase this one, be sure to delete the "About..." menu item above.
<shftAltCtl-a:
freeBuf(buf54)
editBuf(buf54)
setFileName(buf54," About Uedit...")
putMsg(" ")
insertRgn(buf54,sFile,
"Uedit is a ShareWare program. Copy and distribute Uedit.arc to your friends.
Distribute ONLY the ORIGINAL Uedit.arc! DO NOT distribute a modified copy!
Uedit is Extremely customizable and configurable. You can even reinvent the
mouse, menu and gadget commands. Uedit isn't fast displaying text, because
it uses the Amiga's text functions. If you buy Microsmith's Fast Fonts (tm),
you will be thrilled with the dramatic improvement in speed.
Editors are like religion. Once baptized, people swear by their first editor.
If you have not given Uedit a serious try, you are missing out on an editor
which some have said is the best they've ever seen.
This About.... was written in Uedit's command language and can be customized
or erased. Do not change it in the ShareWare version!
If you find Uedit useful, send $25 cash, check or money order to:
Rick Stiles, 2420 Summit Springs Drive, Atlanta, GA 30338
You will receive the 118 page Manual with documentation and editing tricks.
(Send $25 extra, if you want to receive the super-fast version or serial comm
version which are in the works. Specify which.)
",all)
moveCursor(buf54,sFile)
equateNum(n54,17)
while (decNum(n54)) moveCursor(buf54,eWord)
equateLoc(buf54,eInvert,atCursor)
moveCursor(buf54,sWord)
equateLoc(buf54,sInvert,atCursor)
equateNum(n54,15)
while (decNum(n54)) moveCursor(buf54,eLine)
moveCursor(buf54,sLine)
equateLoc(buf54,sHilite,atCursor)
equateNum(n54,2)
while (decNum(n54)) moveCursor(buf54,eLine)
equateLoc(buf54,eHilite,atCursor)
moveCursor(buf54,eFile)
editBuf(buf54)
getKey(n54)
freeBuf(buf54)
>
Load demo, compile, & run it. Erase this when you no longer want to be able
to run the demo. Or just erase the left angle-bracket.
<shftAltCtl-d: runKey(alt-z)>
if (loadFile("demo")) { compile runKey(shftAlt-1) }